JCoBox: Generalizing Active Objects to Concurrent Components
نویسندگان
چکیده
Concurrency in object-oriented languages is still waiting for a satisfactory solution. For many application areas, standard mechanisms like threads and locks are too low level and have shown to be error-prone and not modular enough. Lately the actor paradigm has regained attention as a possible solution to concurrency in OOLs. We propose JCoBox: a Java extension with an actor-like concurrency model based on the notion of concurrently running object groups, so-called coboxes. Communication is based on asynchronous method calls with standard objects as targets. Cooperative multi-tasking within coboxes allows for combining active and reactive behavior in a simple and safe way. Futures and promises lead to a data-driven synchronization of tasks. This paper describes the concurrency model, the formal semantics, and the implementation of JCoBox, and shows that the performance of the implementation is comparable to state-of-the-art actor-based language implementations for the JVM.
منابع مشابه
A Programming Model and Language for Concurrent and Distributed Object-Oriented Systems
The wide availability of multi-core processors and the ubiquitous presence of the Internet lead to new challenges in software design and implementation. Software has to be written in a parallelizable way to profit from multiple cores. Interaction with distributed Internet services requires coping with message delays and network failures. These challenges reach application domains, like desktop ...
متن کاملCoordination of Active Objects by Means of Explicit Connectors
Although coordination of multiple activities is a fundamental goal of object-oriented concurrent programming languages, there is only limited support for its specification and abstraction at the language level. This leads to a mismatch between conceptional designs, using high-level abstractions, and the implementation, using the low-level coordination constructs. Often coordination is hard-wire...
متن کاملAn Environment to Support Fragmented Active Objects
This paper describes a medium level tool to implement active objects. This programming environment uses Communicating Active Components (Cac/s) and hides lowlevel mechanisms of the target machine for the programmer. An object-based concurrent application may be defined as a set of Cac/s. We propose several distributed representations of fragmented active objects. Our goal is intra-object parall...
متن کاملTransparently Parameterizing Synchronization into a Concurrent Distributed Application A Case Study of C++ Design Evolution
Many useful C++ classes have evolved incrementally by generalizing from solutions to practical problems that arise during system development. After the interface and implementation of a class have stabilized, however, this iterative process of class generalization is often de-emphasized. That is unfortunate since a major barrier to entry for newcomers to object-oriented design and C++ is (1) le...
متن کاملMONARC Simulation Framework
This paper discusses the latest generation of the MONARC (MOdels of Networked Analysis at Regional Centers) simulation framework, as a design and modelling tool for large scale distributed systems applied to HEP experiments. A process-oriented approach for discrete event simulation is well-suited for describing concurrent running programs, as well as the stochastic arrival patterns that charact...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010